'\" te
.\"  Copyright (c) 1996, Sun Microsystems, Inc.  All Rights Reserved
.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License.
.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.  See the License for the specific language governing permissions and limitations under the License.
.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
.TH CSX_REQUESTSOCKETMASK 9F "Jul 19, 1996"
.SH NAME
csx_RequestSocketMask, csx_ReleaseSocketMask \- set or clear the client's
client event mask
.SH SYNOPSIS
.nf
#include <sys/pccard.h>



\fBint32_t\fR \fBcsx_RequestSocketMask\fR(\fBclient_handle_t\fR \fIch\fR,
     \fBrequest_socket_mask_t *\fR\fIsm\fR);
.fi

.LP
.nf
\fBint32_t\fR \fBcsx_ReleaseSocketMask\fR(\fBclient_handle_t\fR \fIch\fR,
     \fBrelease_socket_mask_t *\fR\fIrm\fR);
.fi

.SH INTERFACE LEVEL
illumos \fBDDI\fR Specific (illumos \fBDDI\fR)
.SH PARAMETERS
.ne 2
.na
\fB\fIch\fR\fR
.ad
.RS 6n
Client handle returned from \fBcsx_RegisterClient\fR(9F).
.RE

.sp
.ne 2
.na
\fB\fIsm\fR\fR
.ad
.RS 6n
Pointer to a \fBrequest_socket_mask_t\fR structure.
.RE

.sp
.ne 2
.na
\fB\fIrm\fR\fR
.ad
.RS 6n
Pointer to a \fBrelease_socket_mask_t\fR structure.
.RE

.SH DESCRIPTION
The function \fBcsx_RequestSocketMask()\fR sets the client's client event mask
and enables the client to start receiving events at its event callback handler.
Once this function returns successfully, the client can start receiving events
at its event callback handler. Any pending events generated from the call to
\fBcsx_RegisterClient\fR(9F) will be delivered to the client after this call as
well. This allows the client to set up the event handler mutexes before the
event handler gets called.
.sp
.LP
\fBcsx_RequestSocketMask()\fR must be used before calling
\fBcsx_GetEventMask\fR(9F) or \fBcsx_SetEventMask\fR(9F) for the client event
mask for this socket.
.sp
.LP
The function \fBcsx_ReleaseSocketMask()\fR clears the client's client event
mask.
.SH STRUCTURE MEMBERS
The structure members of \fBrequest_socket_mask_t\fR are:
.sp
.in +2
.nf
 uint32_t    Socket;       /* socket number */
  uint32_t    EventMask;    /* event mask to set or return */
.fi
.in -2

.sp
.LP
The structure members of \fBrelease_socket_mask_t\fR are:
.sp
.in +2
.nf
  uint32_t    Socket;       /* socket number */
.fi
.in -2

.sp
.LP
The fields are defined as follows:
.sp
.ne 2
.na
\fB\fBSocket\fR\fR
.ad
.RS 13n
Not used in illumos, but for portability with other Card Services
implementations, it should be set to the logical socket number.
.RE

.sp
.ne 2
.na
\fB\fBEventMask\fR\fR
.ad
.RS 13n
This field is bit-mapped. Card Services performs event notification based on
this field. See \fBcsx_event_handler\fR(9E) for valid event definitions and for
additional information about handling events.
.RE

.SH RETURN VALUES
.ne 2
.na
\fB\fBCS_SUCCESS\fR\fR
.ad
.RS 27n
Successful operation.
.RE

.sp
.ne 2
.na
\fB\fBCS_BAD_HANDLE\fR\fR
.ad
.RS 27n
Client handle is invalid.
.RE

.sp
.ne 2
.na
\fB\fBCS_IN_USE\fR\fR
.ad
.RS 27n
\fBcsx_ReleaseSocketMask()\fR has not been done.
.RE

.sp
.ne 2
.na
\fB\fBCS_BAD_SOCKET\fR\fR
.ad
.RS 27n
\fBcsx_RequestSocketMask()\fR has not been done.
.RE

.sp
.ne 2
.na
\fB\fBCS_UNSUPPORTED_FUNCTION\fR\fR
.ad
.RS 27n
No \fBPCMCIA\fR hardware installed.
.RE

.SH CONTEXT
These functions may be called from user or kernel context.
.SH SEE ALSO
.BR csx_event_handler (9E),
.BR csx_GetEventMask (9F),
.BR csx_RegisterClient (9F),
.BR csx_SetEventMask (9F)
.sp
.LP
\fIPC Card 95 Standard\fR, PCMCIA/JEIDA
